package com.tang.shopping.users.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.tang.shopping.common.util.PageInfoUtil;
import com.tang.shopping.users.pojo.AAdmins;
import com.tang.shopping.users.pojo.ARole;

public interface IUsersService {

    /*---- 管理员操作开始 ----*/
    /**
     * 保存一条管理员
     * 
     * @param admins
     *            保存的对象
     * @return json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
     */
    JSONObject saveOneAdminsService(AAdmins admins);

    /**
     * 更新一条管理员
     * 
     * @param admins
     * @return
     */
    JSONObject updateOneAdminsService(AAdmins admins);

    /**
     * 删除一条管理员
     * 
     * @param admins
     * @return
     */
    JSONObject deleteOneAdminsService(AAdmins admins);

    /**
     * 查询一条管理员
     * 
     * @param condMap
     *            查询条件
     * @return 返回管理员
     */
    AAdmins findOneAdminsService(Map<String, Object> condMap);

    /**
     * 查询多条管理员
     * 
     * @param pageInfoUtil
     *            分页对象:如果为null,不分页,如果不为空,分页
     * @param condMap
     *            查询条件
     * @return 返回多条记录
     */
    List<AAdmins> findCondListAdminsService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
    /*---- 管理员操作结束 ----*/

    /*---- 角色操作开始 ----*/
    /**
     * 保存一条角色
     * 
     * @param role
     *            保存的对象
     * @return json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
     */
    JSONObject saveOneRoleService(ARole role);

    /**
     * 更新一条角色
     * 
     * @param role
     * @return
     */
    JSONObject updateOneRoleService(ARole role);

    /**
     * 删除一条角色
     * 
     * @param role
     * @return
     */
    JSONObject deleteOneRoleService(ARole role);

    /**
     * 查询一条角色
     * 
     * @param condMap
     *            查询条件
     * @return 返回角色
     */
    ARole findOneRoleService(Map<String, Object> condMap);

    /**
     * 查询多条角色
     * 
     * @param pageInfoUtil
     *            分页对象:如果为null,不分页,如果不为空,分页
     * @param condMap
     *            查询条件
     * @return 返回多条记录
     */
    List<ARole> findCondListRoleService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
    /*---- 角色操作结束 ----*/
}
